

void AjouterMatelot()
{
    system("cls");
    string nom, prenom;
    cout<<"  ###########################################################################"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ##                  Bienvenue dans le logiciel de gestion                ##"<<endl;
    cout<<"  ##                      de le compagnie maritime AM.LB                   ##"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ###########################################################################"<<endl;
    cout<<"  #                                                                         #"<<endl;
    cout<<"  #                    AJOUT D'UN MATELOT                                   #"<<endl;
    cout<<"  #                                                                         #"<<endl;
    cout<<"  #  Numero : "<<nbMatelots+1<<endl;
    cout<<"  #     Nom : ";getline(cin, nom);
    cout<<"  #  Prenom : ";getline(cin, prenom);
    cout<<"  #"<<endl;
    cout<<"  #  CREATION DU MATELOT..."<<endl;
    Matelot * mat = new Matelot(nbMatelots+1,nom,prenom);
    nbMatelots = nbMatelots+1;
    listMatelots.push_back(mat);
    listMatelots.sort();
}
void ModifierMatelot()
{
    int num;
    bool estListe = false;
    Matelot * matTrouve = new Matelot();
    Matelot * matMod = new Matelot();
    string nom, prenom;

    system("cls");
    cout<<"  ###########################################################################"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ##                  Bienvenue dans le logiciel de gestion                ##"<<endl;
    cout<<"  ##                      de le compagnie maritime AM.LB                   ##"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ###########################################################################"<<endl;
    cout<<"  #                                                                         #"<<endl;
    cout<<"  #                 AFFICHAGE DES MATELOTS                                  #"<<endl;
    cout<<"  #                                                                         #"<<endl;

    list<Matelot*>::iterator it;
    for(it = listMatelots.begin();it != listMatelots.end();it++)
    {
        Matelot * mat = new Matelot();
        mat = (*it);
        cout<<"  #  "<<mat->getIdPersonne()<<" : "<<mat->getNom()<<" "<<mat->getPrenom()<<endl;
    }
    cout<<"  #    Entrez le numero du matelot a modifier : ";cin>>num;
    for(it = listMatelots.begin();it != listMatelots.end();it++)
    {
        matMod = (*it);
        if(matMod->getIdPersonne() == num)
        {
            estListe = true;
            matTrouve = (*it);
            cout<<"  #  Modification de "<<matTrouve->getNom()<<" "<<matTrouve->getPrenom()<<"("<<matTrouve->getIdPersonne()<<")";
            cout<<endl<<"  #"<<endl;
            cout<<"  #     Nouveau nom : ";cin>>nom;
            cout<<"  #  Nouveau prenom : ";cin>>prenom;
            (*it)->setNom(nom);
            (*it)->setPrenom(prenom);
        }
    }
    if(!estListe)
    {
        cout<<"  #  Numero inconnu ! "<<endl;
    }
}

void SupprimerMatelot()
{
    int num;
    bool estListe = false;
    list<Matelot*> listAlt ;

    system("cls");
    cout<<"  ###########################################################################"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ##                  Bienvenue dans le logiciel de gestion                ##"<<endl;
    cout<<"  ##                      de le compagnie maritime AM.LB                   ##"<<endl;
    cout<<"  ##                                                                       ##"<<endl;
    cout<<"  ###########################################################################"<<endl;
    cout<<"  #                                                                         #"<<endl;
    cout<<"  #                 SUPPRESSION DES MATELOTS                                #"<<endl;
    cout<<"  #                                                                         #"<<endl;

    list<Matelot*>::iterator it;
    for(it = listMatelots.begin();it != listMatelots.end();it++)
    {
        cout<<"  #  "<<(*it)->getIdPersonne()<<" : "<<(*it)->getNom()<<" "<<(*it)->getPrenom()<<endl;
    }
    cout<<"  #    Entrez le numero du matelot a supprimer : ";cin>>num;
    for(it = listMatelots.begin();it != listMatelots.end();it++)
    {
        if((*it)->getIdPersonne() == num)
        {
            estListe = true;

        }
        else
        {
            listAlt.push_back(*it);
        }
    }
    cout<<"3";
    if(!estListe)
    {
        cout<<"  #  Numero inconnu ! "<<endl;
    }
    else
    {
        listMatelots.erase(listMatelots.begin(),listMatelots.end());
        listMatelots = listAlt ;
    }
}

void AfficherMatelots()
{
    string choix;
    bool trouve = false;

    do {
        system("cls");
        cout<<"  ###########################################################################"<<endl;
        cout<<"  ##                                                                       ##"<<endl;
        cout<<"  ##                  Bienvenue dans le logiciel de gestion                ##"<<endl;
        cout<<"  ##                      de le compagnie maritime AM.LB                   ##"<<endl;
        cout<<"  ##                                                                       ##"<<endl;
        cout<<"  ###########################################################################"<<endl;
        cout<<"  #                                                                         #"<<endl;
        cout<<"  #                        AFFICHAGE DES MATELOTS                           #"<<endl;
        cout<<"  #                                                                         #"<<endl;

        if(listMatelots.empty())
        {
            cout<<"  #                La liste de matelot est vide !                        #"<<endl;
            cout<<"  #                                                                         #"<<endl;
            cout<<"  ###########################################################################"<<endl;
        }
        else
        {
            list<Matelot*>::iterator it;
            for(it = listMatelots.begin();it != listMatelots.end();it++)
            {
                cout<<"  #  "<<(*it)->getNom()<<" "<<(*it)->getPrenom()<<" ["<<(*it)->getIdPersonne()<<"] "<<endl;
            }
            cout<<"  #                                                                         #"<<endl;
            cout<<"  #                                                                         #"<<endl;
            cout<<"  # ----------------------------------------------------------------------- #"<<endl;
            cout<<"  #    Pour afficher un element particulier, saisissez son numero. Sinon,   #"<<endl;
            cout<<"  #    saisissez 0 [zero] pour revenir au menu precedent.                   #"<<endl;
            cout<<"  # ----------------------------------------------------------------------- #"<<endl;
            cout<<"  #                                                                         #"<<endl;
            cout<<"  #    VOTRE CHOIX : ";cin>>choix;
            cout<<"  #                                                                         #"<<endl;
            trouve = false;
            if(choix != "0")
            {
                for(it=listMatelots.begin();it!=listMatelots.end();it++)
                {
                    if((*it)->getIdPersonne()==atoi(choix.c_str()))
                    {
                        system("cls");
                        cout<<"  ###########################################################################"<<endl;
                        cout<<"  ##                                                                       ##"<<endl;
                        cout<<"  ##                  Bienvenue dans le logiciel de gestion                ##"<<endl;
                        cout<<"  ##                      de le compagnie maritime AM.LB                   ##"<<endl;
                        cout<<"  ##                                                                       ##"<<endl;
                        cout<<"  ###########################################################################"<<endl;
                        cout<<"  #                                                                         #"<<endl;
                        // AFFICHAGE
                        cout<<"  #  Matelot numero "<<(*it)->getIdPersonne()<<endl;
                        cout<<"  #"<<endl;
                        cout<<"  #    "<<(*it)->getNom()<<" "<<(*it)->getPrenom()<<endl;
                        cout<<"  #"<<endl;
                        cout<<"  #      Navire actuel : ";
                        if((*it)->getNavireActuel()==0)
                        {
                            cout<<"Aucun"<<endl;
                        }
                        else
                        {
                            cout<<(*it)->getNavireActuel()<<endl;
                        }
                        trouve = true;
                    }
                }
                if(!trouve)
                {
                    // NUMERO INCONNU
                    cout<<"  #  NUMERO INCONNU"<<endl;
                }
                cout<<"  #  ";system("PAUSE");
            }
        }
        cout<<"  #  ";
    }
    while(choix != "0");
}
